# @Time : 2024/12/20 22:46
# @Author : Fioman 
# @Phone : 13149920693
"""
程序中用到的一些枚举数据,关于枚举的一些操作在下面.
"""
from enum import Enum


class LayoutMode(Enum):
    """
    排板方式 横排和竖排
    """
    Vertical = "竖排"
    Horizontal = "横排旋转"


class Role(Enum):
    """
    角色的枚举类型,我不喜欢全大写,我喜欢大写开头的驼峰写法
    设计三个角色
    Admin: 管理员
    Serviceman: 维护人员
    User:普通用户
    """
    Admin = "管理员"
    Serviceman = "维护人员"
    User = "普通用户"


if __name__ == '__main__':
    # 通过成员名称来获取成员
    print(Role["Admin"], type(Role["Admin"]))  # Role.Admin <enum 'Role'>

    # 通过成员值来获取成员
    print(Role("普通用户"), type(Role("普通用户")))  # Role.User <enum 'Role'>

    # 通过成员来获取成员的名称和值,以及他们的类型
    print(Role.Admin, type(Role.Admin))  # Role.Admin <enum 'Role'>

    print(Role.Admin.name, type(Role.Admin.name))  # Admin <class 'str'>

    print(Role.Admin.value, type(Role.Admin.value))  # 管理员 <class 'str'>

    a = Role.Admin  # 假如获取的是这值
    print(a.name, type(a.name))
